Android Activity Manager 深度解析
📚 共计 30 章节
第1章
Activity Manager 概述
AMS在Android系统中的定位、核心职责、与WMS/PMS的关系。
定位
WMS/PMS
第2章
AMS 启动流程
SystemServer启动、AMS实例化、关键初始化步骤。
SystemServer
初始化
第3章
Activity 栈管理
Task、ActivityRecord、TaskRecord、返回栈(Back Stack)机制。
TaskRecord
返回栈
第4章
Activity 启动流程(上)
从startActivity到AMS的IPC调用链路。
IPC
startActivity
第5章
Activity 启动流程(下)
AMS内部处理、进程创建、ActivityThread调度。
进程创建
ActivityThread
第6章
LaunchMode 深度解析
standard、singleTop、singleTask、singleInstance 原理与场景。
启动模式
singleTask
第7章
Intent 与 Flag
Intent.FLAG_ACTIVITY_* 系列标志位详解与实战。
Flag
Intent
第8章
Activity 生命周期管理
AMS如何调度onCreate/onStart/onResume/onPause/onStop/onDestroy。
生命周期
AMS调度
第9章
进程优先级与LRU算法
AMS如何管理进程优先级、adj值、lmk触发机制。
adj
LMK
第10章
ANR 机制
AMS检测ANR的原理、超时时间、trace文件分析。
ANR
trace
第11章
BroadcastReceiver 管理
AMS对动态/静态广播的注册、分发、有序广播流程。
广播
有序广播
第12章
ContentProvider 管理
AMS对Provider的安装、授权、多进程访问控制。
Provider
多进程
第13章
Service 管理
AMS对Service的启动、绑定、生命周期调度。
Service
绑定
第14章
App 进程管理
AMS对进程的创建、销毁、保活策略。
保活
进程
第15章
ActivityManagerService 数据结构
mActivities、mRecentTasks、mProcessList等核心数据结构。
数据结构
mActivities
第16章
AMS 与 WMS 的交互
Activity窗口添加、焦点切换、屏幕旋转流程。
WMS
窗口
第17章
AMS 与 PMS 的交互
权限检查、组件查询、安装/卸载通知。
PMS
权限
第18章
多窗口与分屏模式
AMS对多窗口、自由窗口、画中画模式的管理。
多窗口
画中画
第19章
Recent Tasks 管理
最近任务列表的维护、清除、锁定机制。
最近任务
锁定
第20章
Activity 转场动画
AMS如何协调WMS实现启动/退出动画。
动画
WMS
第21章
SavedInstanceState 机制
AMS在异常销毁时保存与恢复Activity状态。
状态保存
异常销毁
第22章
onNewIntent 与 Flag
AMS如何通过Intent重用Activity实例。
onNewIntent
重用
第23章
Activity 冷启动与热启动
AMS在两种启动方式下的差异与优化。
冷启动
热启动
第24章
AMS 中的锁
ActivityManagerService锁、mService锁、死锁案例分析。
死锁
mService锁
第25章
AMS 日志与调试
logcat关键tag、dumpsys activity命令、Systrace分析。
dumpsys
Systrace
第26章
AMS 与 系统稳定性
OOM、内存泄漏、死锁对AMS的影响。
OOM
内存泄漏
第27章
AMS 在Android 12/13/14中的变化
前台服务限制、广播限制、后台启动限制。
Android 14
后台限制
第28章
AMS 性能优化
减少跨进程调用、优化Activity创建速度、避免ANR。
性能
ANR
第29章
AMS 源码导读
关键类(ActivityManagerService、ActivityStack、ActivityRecord)源码分析。
源码
ActivityStack
第30章
AMS 面试高频题
Activity启动流程、进程保活、ANR分析、LaunchMode区别。
面试
高频